package com.dartfar.workflow.service;

import java.util.List;

import net.sf.json.JSONObject;

import com.dartfar.base.model.Person;
import com.dartfar.workflow.vo.WorkflowCurUserTasksVo;
import com.dartfar.workflow.vo.WorkflowExecuteTaskVo;

/**
 * 任务节点服务
 * @author 王琦
 *
 */
public interface WorkflowTaskService {
	
	/**
	 * 执行任务
	 * @param wetVo
	 * @param returnObj
	 */
	public void execTasks(Person person, WorkflowExecuteTaskVo wetVo, JSONObject returnObj);
	
	/**
	 * 执行领取任务操作
	 * @param person
	 * @param taskId
	 * @param returnObj
	 */
	public void execTakeTask(Person person, String taskId, JSONObject returnObj);
	
	/**
	 * 执行撤销任务操作
	 * @param taskId
	 * @param modelName
	 * @param idValue
	 */
	public void execRepealTask(String taskId, String modelName, String idValue);
	
	/**
	 * 得到当前登陆人的所有活动节点
	 * @param person
	 * @param pageNo
	 * @param pageSize
	 * @return
	 */
	public List<WorkflowCurUserTasksVo> getCurrentUserTask(Person person, int pageNo, int pageSize);

}
